兄弟连区块链培训分享Go语言string转换数组 |
您所在的位置:网站首页 › go 字符串转数组 › 兄弟连区块链培训分享Go语言string转换数组 |
兄弟连区块链培训分享 Go 语言 string 转换数组
兄弟连教育建议, 用户在考虑培训周期时要切实结合自身目前所掌握的区块链知识的多 少、培训的目的是简单的认知提升还是借此高薪就业等等。兄弟连 Go 全栈与 区块链培训 课 程设置为 5 个半月共计 22 周的学习时长,由浅入深进行讲解,助力于小白用户向区块链工 程师的转型。
课程体系设计架构包括了区块链的基础语言 Go 语言、区块链后端技术体系、区块链公 链、 区块链分布式应用开发等内容讲解, 以及到最后的面试指导和项目实战。 课程由清华微 软谷歌名师团队精心打造,历时半年时间共同研发而出。
在 golang 中 , 有数组和切片两种类型 . 切片是引用类型 , 而数组是值类型 .
如果想在函数中 传入数组的指针参数 , 则必须指定数组的数量 , 如
func stringToRuneArr(s string, arr *[5]rune)
如果去掉
arr *[5]rune 中的 5, 则指参数变成了切片类型 , 数组的指针就传不进去了 , 编译 会报错 , 那么难道一定要写死数组的长度吗 ? 这样也太不优雅 .
经过一番搜索 , 发现其实方法很简单 , 就是把函数的参数改为切片 , 然后传数组的切片进去 .
因为切片是引用类型 , 实际在函数中的修改是对应的原来的数组 , 这样就达到了修改数组的 目的 ,
只要修改不超出数组的长度 , 就没有问题 .
代码例子如下 : func StringToRuneArr(s string, arr []rune) {
src := []rune(s)
for i, v := range src {
if i >= len(arr) {
break
}
arr[i] = v
} }
func main(){
str := " 这是一个字符串 ABCDEF"
var arr [10]rune
utility.StringToRuneArr(str, arr[:])
fmt.Println(string(arr[:])) } 输出结果
这是一个字符串 ABC
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |